package fr.upmc.cie;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;
import fr.upmc.cie.data.ChannelItem;
import fr.upmc.cie.data.DataManager;


public class ListChannel  extends Activity{
	

	private ArrayAdapter<ChannelItem> tla;
	private ListView lv;
	private ListChannel self = this;
	@Override
    public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.list_channels);
		
		lv = (ListView) this.findViewById(R.id.listChannels);
		
		tla = new ArrayAdapter<ChannelItem>(self, android.R.layout.simple_list_item_1, DataManager.getChannelManager(this).getAllChannels());
		
		lv.setAdapter(tla);
		
		lv.setOnItemClickListener(new OnItemClickListener(){

			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
			
					Intent i = new Intent();
					i.putExtra("channel", (ChannelItem)tla.getItem(position));
					i.setClass(view.getContext(), ChannelDisplay.class);
					startActivityForResult(i,2);
				
			}
			
		});
	}
	
	public void onActivityResult(int requestValue, int resultCode, Intent data){
		tla = new ArrayAdapter<ChannelItem>(self, android.R.layout.simple_list_item_1, DataManager.getChannelManager(this).getAllChannels());
		tla.notifyDataSetChanged();
		
		lv.setAdapter(tla);
		lv.refreshDrawableState();
	}
	
	 //Méthode qui se déclenchera lorsque vous appuierez sur le bouton menu du téléphone
    public boolean onCreateOptionsMenu(Menu menu) {
 
        //Création d'un MenuInflater qui va permettre d'instancier un Menu XML en un objet Menu
        MenuInflater inflater = getMenuInflater();
        //Instanciation du menu XML spécifier en un objet Menu
        inflater.inflate(R.menu.list_channel_menu, menu);
 
 
        return true;
     }
 
       //Méthode qui se déclenchera au clic sur un item
      public boolean onOptionsItemSelected(MenuItem item) {
         //On regarde quel item a été cliqué grâce à son id et on déclenche une action
         switch (item.getItemId()) {
            case R.id.listChannelSubscribe:
               
          	Intent j = new Intent();
    		j.setClass(this, Subscribe.class);
    		startActivityForResult(j,2);
         }
         return false;}




}
